package Util;

import java.sql.*;

public class DataProvider
{
    private Connection con = null;
    
    /**
     * Mở kết nối dữ liệu
     * 
     */

    public void open() throws ClassNotFoundException, SQLException
    {
        String sql = "jdbc:sqlserver://localhost:1433;databaseName=OnlineShop;user=sa;password=123456";
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");       
        
        
        this.con = DriverManager.getConnection(sql);       
    }

    /**
     * Đóng kết nối dữ liệu
     * 
     */
    
    public void close() throws SQLException
    {
        this.con.close();
    }

    /**
     * Rút trích dữ liệu
     * @param sql câu truy vấn SELECT
     * @return ResultSet
     */
    
    public ResultSet ExecuteQuery(String sql)
    {
        ResultSet rs = null;
        try
        {
            Statement sm = this.con.createStatement();
            rs = sm.executeQuery(sql);
        }
        catch (Exception ex)
        {
            System.out.println(ex.getMessage());
        }

        return rs;
    }

    /**
     * Thêm, xóa, cập nhật dữ liệu
     * @param sql câu lệnh UPDATE, INSERT, DELETE
     * @return số lượng dòng cập nhật/thêm/xóa được , -1 : thất bại
     * @exception SQLException
     */
        
    public int executeUpdate(String sql)
    {
        int n = -1;
        try
        {
            Statement sm = this.con.createStatement();
            n = sm.executeUpdate(sql);
        }
        catch (Exception ex)
        {
            System.out.println(ex.getMessage());
        }
        return n;
    }
}
